Tesler’s Law 特斯勒定律

Tesler’s Law, also known as The Law of Conservation of Complexity, states that for any system there is a certain amount of complexity which cannot be reduced. 每個系統都有一定的複雜性,這種複雜性是沒法完全消除的。

Takeaways 要點

Origins 起源

20世紀80年代中期,Xerox PARC的電腦科學家Larry Tesler在制定桌面計算機互動設計規範時,認識到統一介面對使用者和開發者都有益,因為標準可放入共享軟體庫重用。在蘋果期間,他開發了"通用應用"框架,讓開發更容易。特斯勒用"複雜性守恆"說服蘋果:軟體可以更復雜,只要減輕使用者負擔。他解釋:"如果百萬使用者每天浪費一分鐘解決工程師一週能修復的問題,就是讓使用者為工程師方便付出代價。"

複雜性偏差 Complexity Bias

複雜性偏差是一種思維習慣,讓我們更喜歡複雜而不是簡單的解決方案:我們常把複雜和聰明聯絡在一起。當我們不完全理解某事時,往往會把簡單的事情想得太複雜。研究表明人們猜測規則時更傾向於複雜解釋,常常忽略簡單答案。

設計風險:如果你總是選擇複雜方案,可能說明你對問題理解不夠,需要更深入思考。

Examples 案例分析

發郵件必須有兩個資訊:發件人(你)和收件人。缺一不可,這是基本要求。現代郵箱透過這些方式讓使用更簡單:自動填入你的郵箱地址作為發件人。輸入時根據你的聯絡人自動推薦收件人。複雜性沒有消失,只是轉移給了系統開發團隊,他們提前解決了這些問題。

Gmail 進一步透過“智慧撰寫”和“智慧回覆”功能,減少打字負擔;複雜的匹配、預測邏輯被隱藏在後臺,實現了使用者體驗的簡化。

Gmail 引入了人工智慧功能 Smart Compose:在使用者輸入時預測並建議句子完成方式。與 Smart Reply(自動建議快速回復)配合使用,提高效率。

在電商網站的結賬過程中,使用者需要填寫大量重複的賬單與收貨資訊。為簡化流程,許多網站:

提供“收貨地址與賬單地址相同”選項,自動繼承資訊,避免重複輸入。這將複雜性轉移到前端和後端的系統實現,而非使用者手動填寫。

Apple Pay 透過預先繫結支付資訊,使使用者只需在結賬時選擇支付方式並驗證即可,無需額外輸入資訊。複雜性被轉移到支付平臺的技術實現上,使用者體驗顯著簡化。

Amazon Go 門店利用機器學習、計算機視覺和人工智慧,讓顧客:進店時用 App 簽到、自由拿取商品、直接離店,系統會自動扣款併傳送收據,免去了排隊、掃描和支付步驟。背後包含人工智慧、視覺識別、大資料等複雜技術

Mixpanel 的 Spark 功能,使用者可直接用文字提問來生成資料分析結果。這種方式降低了複雜功能的使用門檻,將技術細節隱藏在系統內部。

活躍使用者悖論 Paradox of the Active User

漸進揭示 Progressive Disclosure

漸進揭示是一種互動設計技巧,初始只顯示最重要的內容或操作,將次要功能或高階選項隱藏在可訪問的選單中:減少視覺雜亂與認知負擔,讓使用者注意力集中在主要任務

Stripe 網站的導航,滑鼠懸停時才顯示詳細選單,讓介面簡潔且便於快速瀏覽。

8 Design Guidelines for Complex Applications 複雜應用的8條設計指導原則

複雜應用指的是:為具有高度專業知識的使用者服務,支援非線性工作流和廣泛目標的應用程式。這類系統通常:

1. 透過“做中學”促進學習

使用者通常不喜歡先閱讀說明書,而是希望立即開始使用,即使系統複雜。這種現象被稱為“主動使用者悖論”。因此,設計時應支援使用者邊做邊學:允許使用者在試錯中學習;避免讓使用者做出一長串操作後才能看到結果;

Salesforce 的儀表板編輯模組允許使用者在左側設定過濾器,右側實時預覽效果,降低試錯成本。

2. 幫助使用者採用更高效的方法

許多使用者即使長期使用複雜系統,也很少真正成為高效專家。他們習慣於“差不多就行”的方法(satisficing),哪怕效率低。設計應:透過非干擾式方式提示更快的操作;

ArcMap 滑鼠懸停提示使用者可以直接拖動資料新增到地圖中,而非走選單路徑。

3. 提供靈活的路徑和流程

使用者面對的往往是目標模糊、過程非線性的任務,不適合強制的線性流程。設計應:允許跳步、回退、調整順序;

Mastercard 的 Test & Learn 工具,提供可點選的任務步驟地圖,使用者可自由切換流程節點而不丟失進度。

4. 幫助使用者記錄操作與思路

複雜任務常常中斷、週期長,使用者需要依賴記憶保持思路。為減輕記憶負擔,設計應:支援使用者新增註釋、記錄思考過程;

TreeAge 允許使用者在分析過程中對模型加註評論,並在後續訪問這些記錄。

5. 協調多工具與多工作區之間的轉換

複雜應用使用者常跨平臺、跨工具操作。應承認這種生態,降低切換成本:

Power BI 提供“一鍵複製圖表為圖片”功能,方便使用者將視覺化結果貼上至 PPT 或文件中,無需截圖。

6. 減少介面雜亂,但不犧牲功能

複雜系統常支援廣泛場景,功能多,導致介面擁擠。設計應:運用“分階段展示”(staged disclosure)減少資訊一次性顯示;

當勾選“標記為私密”後,才顯示“授予許可權”的子選項,避免一開始展現所有設定。

7. 簡化主次資訊之間的切換

資訊分層不可避免。關鍵是讓使用者無需跳轉頁面就能獲取次要資訊:

儀表板中的圖表,使用者將滑鼠懸停某資料點即可彈出具體數值,無需離開主介面。

8. 使關鍵資訊在視覺上突出

使用者需從大量資訊中找到重點。設計應:透過減少無關視覺元素,提升關鍵資訊的突出性;

去除圖示裝飾,使數字更醒目,有助於快速識別核心資料。